
#include <stdio.h>
#include <stdlib.h>
#include "case.h"

void listeCombinsPossibles(int somme,int cases,int tab[][11],char combiLouC[])
{


    int i,j,b=0;
    FILE *f;
    f=fopen(combiLouC,"w");
    if(f==NULL){printf("erreur");}
    else{
    for(i=0;i<=512;i++)
    {
        if(tab[i][0]==somme && (tab[i][10]==cases))
        {
            b=1;
            printf("\nvaleurs possibles:");
            for(j=1;j<=9;j++)
            {
            if(tab[i][j]==1) {fprintf(f,"%d ",j);printf("%d ",j);}
            }
            fprintf(f,"%d ",10);

        }
    }
    if(b==0) printf("pas de combinaison possible");
fclose(f);
}
printf("\n");
}

void val_possibles_case_ligneoucolonne(char combiLouC[],char valcase[])
{
    int c=0,k=0,b=0;
    FILE *g,*f;
    g=fopen(combiLouC,"r");
    f=fopen(valcase,"w+");     //ouverture du fichier contenant les combinaisons possibles d'une ligne ou colonne
    if((g==NULL)||(f==NULL)){printf("erreur");}
    else
        {while(!feof(g))
        {
            fscanf(g,"%d ",&k);b=0;
            while(!feof(f))
            {
                fscanf(f,"%d ",&c);   //tester si le chiffre dejà exite
                if((k==c)||(k==10)) {b=1;} //si oui on ne l'ajoute pas au fichier destination

            }
            if(b==0)            //si non on l'ajoute destination
            {
                fprintf(f,"%d ",k);
            }

            rewind(f);
        }
        fclose(f);
        fclose(g);
    }

}

void val_possibles_case_intersection(char valcase1[],char valcase2[],char valcase[])
{
    int k,c,b;
    FILE *h,*f,*g;
    g=fopen(valcase1,"r");
    f=fopen(valcase2,"r");
    h=fopen(valcase,"w");    //ouverture du fichier contenant les combinaisons possibles d'une ligne ou colonne
    if((f==NULL)||(g==NULL)||(h==NULL)){printf("erreur");}
    else{
    while(!feof(g))
    {
        fscanf(g,"%d ",&k);b=0;
        while(!feof(f))
        {

            fscanf(f,"%d ",&c);     //tester si le chiffre dejà exite
            if(k==c) {b=1;} //si oui on ne l'ajoute pas au fichier destination
        }

        if(b==1)            //si non on l'ajoute destination
        {
            fprintf(h,"%d ",k);
        }

        rewind(f);
    }

    }
    fclose(f);fclose(g);fclose(h);

}
